#ifndef __ATL_KRNL_PTM__
#define __ATL_KRNL_PTM__
#include <cstdint.h>
#include <string.h>
#include "vmm.h"
#define PTM_MAX_PTS 50
#define PTM_BLOCK_SIZE 4096
#define PTM_PTS_START 0xF37CD000 // Formula is 0xFFFFFFFF - ((PTM_MAX_PTS * 1025) / 8)

uint32_t ptm_get_free_block_count();
uint32_t ptm_get_size();

void ptm_init (virtual_addr bitmap);

void* ptm_alloc_block();
void  ptm_free_block (void* p);

void* ptm_alloc_blocks(size_t size);
void  ptm_free_blocks(void* p, size_t size);

#endif